package __4_struction;

/*

美国决定在俄罗斯的圣彼得堡建立一个新的总部。这个总部将会是一个由矩形构成的平行六面体，这个平行六面体由若干个楼层构成，
每个楼层都在另一个楼层的顶部，每个楼层都是一个相同尺寸矩形网格，网格的每一块都是一个办公室。
如果两个办公室共用一堵墙并且属于同一层楼或者一个办公室的地板是另一个办公室的天花板，那么就认为这两个办公室是相邻的
圣彼得堡总部将会主办n个国际会议，每个国家获得若干个办公室形成一个紧挨着的集合。
现在政治形势表明，有的国家可能想要形成秘密联合体，为了实现这一可能，每组国家都必须至少拥有一组相邻的办公室，
这样他们就可以在需要的时候提高他们共享的墙或天花板来进行秘密的成对谈判
你需要设计一款合理的建筑给美国
输入包括多组数据，每组数据有一个单独的整数n(1 < n < 50)，表示在这栋建筑里开会的国家的个数
对于每组数据对应的输出，第一行为3个整数h，w，l————分别对应建筑的高度，宽度，长度
下面是楼层的描述。每个楼层描述由l行组成，每行有w个字符。用空行分隔相邻楼层的描述
用大写和小写字母区分不同国家的办公室。建筑里最多1000000个办公室，每个办公室都必须有国家占有，不能空着，
在每个测试类之间用换行隔开

输入示例
4
输出示例
2 2 2
AB
CC

zz
zz

---

示例分析：4个国家，2*2*2的建筑，共八个办公室。ABC三国占据四个办公室在第一层，z国一国占据4个办公室在第二层，这样
就能保证任意两个国家都能建立联盟关系，虽然办公室数量上不太公平，但题目意思是允许的，而且似乎也只有这样才能实现任意
两个国家都能联盟吧。

1个国家1*1*1
A
2个国家2*1*1
A

B
3个国家2*1*2
AB

CC
4个国家2*2*2
AB
CC

DD
DD
如果是5个国家呢？
先把4个国家的情况扩大规模，换成2*4*4
AABB
AABB
CCCC
CCCC

DDDD
DDDD
DDDD
DDDD
然后试着增加国家数量
AABB
AEBB
CCCC
CCCC

DDDD
DDDD
DDDD
DDDD
只能多加一个国家，现在5个国家
换成2*6*6
AAABBB
AAABBB
AFEBBB
CFCCCC
CFFFFC
CCCCCC

DDDDDD
DDDDDD
DDDDDD
DDDDDD
DDDDDD
DDDDDD
6个国家了，这种增加国家的方法已经到极限了，似乎没法再增加更多的国家了
不6个国家都不行，最多5个国家

这种题目我真的是第一次见，以前做的题目都是每个输入对应唯一的输出，而这题不是，只有你的输出符和题目要求就能通过
这题也很狗出的这个形式故意误导我，结果发现最后这种形式只能支持最多5个国家，把我整蒙蔽了orz


 */

import java.util.Scanner;

public class BuildingForUN {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
            char[] arr = str.toCharArray();
            System.out.println(2 + " " + n + n);
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    System.out.print(arr[i]);
                }
                System.out.println();
            }
            System.out.println();
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < n; j++) {
                    System.out.print(arr[j]);
                }
                System.out.println();
            }
            
        }
    }

}
